<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JCSDK Objective-C API Reference for iOS/macOS: JCCall类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JCSDK Objective-C API Reference for iOS/macOS
   &#160;<span id="projectnumber">2.3.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">构造函数</a> &#124;
<a href="#pub-static-methods">类方法</a> &#124;
<a href="#properties">属性</a> &#124;
<a href="interface_j_c_call-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">JCCall类 参考<div class="ingroups"><a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html">一对一通话模块</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#import &lt;<a class="el" href="_j_c_call_8h_source.html">JCCall.h</a>&gt;</code></p>
<div class="dynheader">
类 JCCall 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interface_j_c_call.png" alt=""/>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
构造函数</h2></td></tr>
<tr class="memitem:ae9d354eabdaad1c5991062ae6aa05680"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#ae9d354eabdaad1c5991062ae6aa05680">call:video:callParam:</a></td></tr>
<tr class="separator:ae9d354eabdaad1c5991062ae6aa05680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34ca9d3be1e72777c7f1cb6e4a5d5bde"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a34ca9d3be1e72777c7f1cb6e4a5d5bde">term:reason:description:</a></td></tr>
<tr class="separator:a34ca9d3be1e72777c7f1cb6e4a5d5bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af0e53f6b9a3a99b0fa52449c83f3a4"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a0af0e53f6b9a3a99b0fa52449c83f3a4">answer:video:</a></td></tr>
<tr class="separator:a0af0e53f6b9a3a99b0fa52449c83f3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a333d090ca2e527a83079254cdca43a12"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a333d090ca2e527a83079254cdca43a12">mute:</a></td></tr>
<tr class="separator:a333d090ca2e527a83079254cdca43a12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7352eadea5100ab196f1216718cbf928"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a7352eadea5100ab196f1216718cbf928">hold:</a></td></tr>
<tr class="separator:a7352eadea5100ab196f1216718cbf928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e5565cec989f194468ec79d30c3eecc"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a9e5565cec989f194468ec79d30c3eecc">audioRecord:enable:filePath:</a></td></tr>
<tr class="separator:a9e5565cec989f194468ec79d30c3eecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8909575711a38e53bf8828287cde102c"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a8909575711a38e53bf8828287cde102c">videoRecord:enable:remote:width:height:filePath:bothAudio:</a></td></tr>
<tr class="separator:a8909575711a38e53bf8828287cde102c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a339389df45deb533a2678f52a8eabe7f"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a339389df45deb533a2678f52a8eabe7f">becomeActive:</a></td></tr>
<tr class="separator:a339389df45deb533a2678f52a8eabe7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c70e83e914c3e770cdc5b77b60071b"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a22c70e83e914c3e770cdc5b77b60071b">enableUploadVideoStream:</a></td></tr>
<tr class="separator:a22c70e83e914c3e770cdc5b77b60071b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62efb5cb2a21913a78c706352ef2ee8"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#ac62efb5cb2a21913a78c706352ef2ee8">sendMessage:type:content:</a></td></tr>
<tr class="separator:ac62efb5cb2a21913a78c706352ef2ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b5237786fb504ce0cc3d1c2eef59883"><td class="memItemLeft" align="right" valign="top">(NSString *__nullable)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a5b5237786fb504ce0cc3d1c2eef59883">getStatistics</a></td></tr>
<tr class="separator:a5b5237786fb504ce0cc3d1c2eef59883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dc7a03082e93852fbad73a79107ea69"><td class="memItemLeft" align="right" valign="top">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nullable)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#a3dc7a03082e93852fbad73a79107ea69">getActiveCallItem</a></td></tr>
<tr class="separator:a3dc7a03082e93852fbad73a79107ea69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9697181987370e46f5dead272ea2869"><td class="memItemLeft" align="right" valign="top">(bool)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_j_c_call.html#aa9697181987370e46f5dead272ea2869">sendDtmf:value:</a></td></tr>
<tr class="separator:aa9697181987370e46f5dead272ea2869"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
类方法</h2></td></tr>
<tr class="memitem:a943ec3fd266edb3757cfea2f2ff21a92"><td class="memItemLeft" align="right" valign="top">(<a class="el" href="interface_j_c_call.html">JCCall</a> *__nullable)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_j_c_call.html#a943ec3fd266edb3757cfea2f2ff21a92">create:mediaDevice:callback:</a></td></tr>
<tr class="separator:a943ec3fd266edb3757cfea2f2ff21a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5ffd75dfdb8ace0d69e3a38601718e7"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">+ <a class="el" href="interface_j_c_call.html#ae5ffd75dfdb8ace0d69e3a38601718e7">destroy</a></td></tr>
<tr class="separator:ae5ffd75dfdb8ace0d69e3a38601718e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
属性</h2></td></tr>
<tr class="memitem:adf7f1abfa3320f26a6626db6d5231d1a"><td class="memItemLeft" align="right" valign="top">NSArray *__nullable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a></td></tr>
<tr class="separator:adf7f1abfa3320f26a6626db6d5231d1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec2fc8ce948ebdb10e9fd4fe44f7e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_j_c_call.html#a5ec2fc8ce948ebdb10e9fd4fe44f7e11">maxCallNum</a></td></tr>
<tr class="separator:a5ec2fc8ce948ebdb10e9fd4fe44f7e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc33d7d6a0e672613cb66392a35547d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_j_c_call.html#aadc33d7d6a0e672613cb66392a35547d">termWhenNetDisconnected</a></td></tr>
<tr class="separator:aadc33d7d6a0e672613cb66392a35547d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a2c64a0ffd590fd669096f04b13a167"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_j_c_call_media_config.html">JCCallMediaConfig</a> *__nonnull&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_j_c_call.html#a1a2c64a0ffd590fd669096f04b13a167">mediaConfig</a></td></tr>
<tr class="separator:a1a2c64a0ffd590fd669096f04b13a167"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>一对一通话类</p>
<p>该类的所有实例方法在调用时需保证用户的登录状态为已登录 </p>
</div><h2 class="groupheader">函数文档</h2>
<a id="a0af0e53f6b9a3a99b0fa52449c83f3a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0af0e53f6b9a3a99b0fa52449c83f3a4">&#9670;&nbsp;</a></span>answer:video:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) answer: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">video:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>video</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>接听</p>
<p>调用接口成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知<br  />
 另外还有两种情况也会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知：1、若收到的是视频呼叫，而本端选择了音频接听 2、若此路通话不是活跃的，会将此路通话设为活跃通话。<br  />
 调用接口失败会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a0e18348bea90de9e9fbfbb4d960d04be">onCallItemRemove</a> 通知</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
    <tr><td class="paramname">video</td><td>针对视频呼入可以选择以视频接听还是音频接听<ul>
<li>true: 视频接听</li>
<li>false: 音频接听 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a9e5565cec989f194468ec79d30c3eecc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e5565cec989f194468ec79d30c3eecc">&#9670;&nbsp;</a></span>audioRecord:enable:filePath:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) audioRecord: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">enable:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>enable</em></td>
        </tr>
        <tr>
          <td class="paramkey">filePath:</td>
          <td></td>
          <td class="paramtype">(NSString *__nullable)&#160;</td>
          <td class="paramname"><em>filePath</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>开启/关闭通话录音</p>
<p>调用成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知</p>
<p>开启通话录音，需要保证没有在录音也没有在录制视频<br  />
 关闭通话录音，需要保证当前通话正在录音</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
    <tr><td class="paramname">enable</td><td>开启/关闭录音<ul>
<li>true: 开启录音</li>
<li>false: 关闭录音 </li>
</ul>
</td></tr>
    <tr><td class="paramname">filePath</td><td><b>录音文件的本地保存路径，由用户自行指定，需精确到文件名及格式，例如：/Documents/JuphoonCloud/audio.wmv。请确保目录存在且可写。</b> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a339389df45deb533a2678f52a8eabe7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a339389df45deb533a2678f52a8eabe7f">&#9670;&nbsp;</a></span>becomeActive:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) becomeActive: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>切换活跃通话</p>
<p>调用此方法时，入参 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象不是活跃的，则会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知<br  />
 入参 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象已是活跃的，则不会收到通知</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td>需要变为活跃状态的 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ae9d354eabdaad1c5991062ae6aa05680"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9d354eabdaad1c5991062ae6aa05680">&#9670;&nbsp;</a></span>call:video:callParam:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) call: </td>
          <td></td>
          <td class="paramtype">(NSString *__nonnull)&#160;</td>
          <td class="paramname"><em>userId</em></td>
        </tr>
        <tr>
          <td class="paramkey">video:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>video</em></td>
        </tr>
        <tr>
          <td class="paramkey">callParam:</td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_param.html">JCCallParam</a> *__nullable)&#160;</td>
          <td class="paramname"><em>callParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>发起一对一呼叫</p>
<p>若发起的是音频呼叫，需要保证本地不存视频通话，并且本地通话数未达到最大通话数，最大通话数为：<a class="el" href="interface_j_c_call.html#a5ec2fc8ce948ebdb10e9fd4fe44f7e11">maxCallNum</a> <br  />
 若发起的是视频呼叫，需要保证本地不存在通话 <br  />
 发起呼叫成功后，会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a1ab9e15212ef163f7f8d3c009d05f2e9">onCallItemAdd</a> 通知 <br  />
 以下两种情况会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a0e18348bea90de9e9fbfbb4d960d04be">onCallItemRemove</a> 通知：</p><ul>
<li>本端发起视频呼叫时，对方已存在通话</li>
<li>本端发起音频呼叫时，对方已存在视频通话</li>
</ul>
<dl class="section note"><dt>注解</dt><dd>在调用此接口时确保用户的登录状态为已登录</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">userId</td><td>对方的用户标识 </td></tr>
    <tr><td class="paramname">video</td><td>是否视频呼叫<ul>
<li>true: 视频呼叫</li>
<li>false: 音频呼叫 </li>
</ul>
</td></tr>
    <tr><td class="paramname">callParam</td><td><a class="el" href="interface_j_c_call_param.html">JCCallParam</a> 通话参数对象，此参数可为空。详细定义见: <a class="el" href="interface_j_c_call_param.html">JCCallParam</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a943ec3fd266edb3757cfea2f2ff21a92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a943ec3fd266edb3757cfea2f2ff21a92">&#9670;&nbsp;</a></span>create:mediaDevice:callback:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">+ (<a class="el" href="interface_j_c_call.html">JCCall</a>* __nullable) create: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_client.html">JCClient</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>client</em></td>
        </tr>
        <tr>
          <td class="paramkey">mediaDevice:</td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_media_device.html">JCMediaDevice</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>mediaDevice</em></td>
        </tr>
        <tr>
          <td class="paramkey">callback:</td>
          <td></td>
          <td class="paramtype">(id&lt; <a class="el" href="protocol_j_c_call_callback-p.html">JCCallCallback</a> &gt; __nonnull)&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>创建 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象</p>
<p><a class="el" href="interface_j_c_call.html">JCCall</a> 的所有接口函数，如无特殊说明，都建议在主线程调用</p>
<dl class="section note"><dt>注解</dt><dd><ul>
<li>调用此方法创建 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象后，期间没有调用过 <a class="el" href="interface_j_c_call.html#ae5ffd75dfdb8ace0d69e3a38601718e7">destroy</a> 方法销毁对象，然后又重复调用此方法，会直接返回第一次创建的 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象</li>
<li>调用此方法前确保 <a class="el" href="interface_j_c_client.html">JCClient</a> 已完成初始化，即 <a class="el" href="interface_j_c_client.html#af428728decbaf19a2ac6552a07351a65">state</a> 状态值不等于 <a class="el" href="group___xE7_x99_xBB_xE5_xBD_x95_xE6_xA8_xA1_xE5_x9D_x97.html#gga485360c806cb3a83e41ac56a9ad7e709a5a6b582ba8275e39567b419ce05b7860">JCClientStateNotInit</a></li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td><a class="el" href="interface_j_c_client.html">JCClient</a> 对象 </td></tr>
    <tr><td class="paramname">mediaDevice</td><td><a class="el" href="interface_j_c_media_device.html">JCMediaDevice</a> 对象，通过 <a class="el" href="interface_j_c_media_device.html#a85936ee95b592ac75252c97851f9cc3f">create</a> 方法创建 </td></tr>
    <tr><td class="paramname">callback</td><td><a class="el" href="protocol_j_c_call_callback-p.html">JCCallCallback</a> 对象，用于回调相关通知 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd><a class="el" href="interface_j_c_call.html">JCCall</a> 对象 </dd></dl>
<dl class="exception"><dt>异常</dt><dd>
  <table class="exception">
    <tr><td class="paramname">JCClient、JCMediaDevice、JCCallCallback 任意一个参数传空就会创建失败</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae5ffd75dfdb8ace0d69e3a38601718e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5ffd75dfdb8ace0d69e3a38601718e7">&#9670;&nbsp;</a></span>destroy</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">+ (void) destroy </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>销毁 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象</p>
<dl class="section note"><dt>注解</dt><dd>此方法为异步调用，所以在调用此方法后不能马上调用 <a class="el" href="interface_j_c_call.html#a943ec3fd266edb3757cfea2f2ff21a92">create</a> 方法去重新创建 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象 </dd></dl>

</div>
</div>
<a id="a22c70e83e914c3e770cdc5b77b60071b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22c70e83e914c3e770cdc5b77b60071b">&#9670;&nbsp;</a></span>enableUploadVideoStream:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) enableUploadVideoStream: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>开启/关闭视频流发送</p>
<p>调用成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知</p>
<p>通过 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象的 <a class="el" href="interface_j_c_call_item.html#ae3dadbc315fa71f98d9319c582f4160b">uploadVideoStreamSelf</a> 状态来决定开启还是关闭视频流的发送</p><ul>
<li>若 <a class="el" href="interface_j_c_call_item.html#ae3dadbc315fa71f98d9319c582f4160b">uploadVideoStreamSelf</a> 为 true，即已在上传视频流: 关闭视频流发送</li>
<li>若 <a class="el" href="interface_j_c_call_item.html#ae3dadbc315fa71f98d9319c582f4160b">uploadVideoStreamSelf</a> 为 false，即未上传视频流: 开启视频流发送</li>
</ul>
<dl class="section note"><dt>注解</dt><dd>用于视频通话中</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a3dc7a03082e93852fbad73a79107ea69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dc7a03082e93852fbad73a79107ea69">&#9670;&nbsp;</a></span>getActiveCallItem</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (<a class="el" href="interface_j_c_call_item.html">JCCallItem</a>* __nullable) getActiveCallItem </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获得当前活跃的通话</p>
<dl class="section return"><dt>返回</dt><dd><ul>
<li><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象：当前活跃的通话对象</li>
<li>nil：当前没有活跃的通话 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a5b5237786fb504ce0cc3d1c2eef59883"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b5237786fb504ce0cc3d1c2eef59883">&#9670;&nbsp;</a></span>getStatistics</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString * __nullable) getStatistics </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获得当前通话统计信息</p>
<p>统计信息以Json字符串形式返回，其中包含 "Audio" 和 "Video" 两个节点</p>
<dl class="section return"><dt>返回</dt><dd>当前通话统计信息 </dd></dl>

</div>
</div>
<a id="a7352eadea5100ab196f1216718cbf928"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7352eadea5100ab196f1216718cbf928">&#9670;&nbsp;</a></span>hold:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) hold: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>开启/取消呼叫保持</p>
<p>调用成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知</p>
<p>开启呼叫保持后，通话将被挂起，通过 <a class="el" href="interface_j_c_call_item.html#a964fde457b8008a348fc27d17561d740">hold</a> 来决定开启/取消呼叫保持</p><ul>
<li><a class="el" href="interface_j_c_call_item.html#a964fde457b8008a348fc27d17561d740">hold</a> 为 true，即呼叫保持状态时: 取消呼叫保持</li>
<li><a class="el" href="interface_j_c_call_item.html#a964fde457b8008a348fc27d17561d740">hold</a> 为 false，即不是呼叫保持状态时: 开启呼叫保持</li>
</ul>
<dl class="section note"><dt>注解</dt><dd>只针对音频，如果是视频通话则要上层处理视频逻辑</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象，此对象的通话状态必须为通话中 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a333d090ca2e527a83079254cdca43a12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a333d090ca2e527a83079254cdca43a12">&#9670;&nbsp;</a></span>mute:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) mute: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>开启/取消静音</p>
<p>调用成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知</p>
<p>开启后对端听不到本端的声音，通过 <a class="el" href="interface_j_c_call_item.html#a6aa4630466d74e1bb336f5edaa333ac4">mute</a> 来决定开启/取消静音</p><ul>
<li><a class="el" href="interface_j_c_call_item.html#a6aa4630466d74e1bb336f5edaa333ac4">mute</a> 为 true，即静音状态时: 取消静音</li>
<li><a class="el" href="interface_j_c_call_item.html#a6aa4630466d74e1bb336f5edaa333ac4">mute</a> 为 false，即不是静音状态时: 开启静音</li>
</ul>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象，此对象的通话状态必须为通话中 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="aa9697181987370e46f5dead272ea2869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9697181987370e46f5dead272ea2869">&#9670;&nbsp;</a></span>sendDtmf:value:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) sendDtmf: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *_Nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">value:</td>
          <td></td>
          <td class="paramtype">(<a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html#gabdc5348e5bd7d6146e66900e8f207677">JCCallDtmf</a>)&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>发送DTMF信息</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td>需要发送数据的 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象 </td></tr>
    <tr><td class="paramname">value</td><td><a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html#gabdc5348e5bd7d6146e66900e8f207677">DTMF值</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ac62efb5cb2a21913a78c706352ef2ee8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac62efb5cb2a21913a78c706352ef2ee8">&#9670;&nbsp;</a></span>sendMessage:type:content:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) sendMessage: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">type:</td>
          <td></td>
          <td class="paramtype">(NSString *__nonnull)&#160;</td>
          <td class="paramname"><em>type</em></td>
        </tr>
        <tr>
          <td class="paramkey">content:</td>
          <td></td>
          <td class="paramtype">(NSString *__nonnull)&#160;</td>
          <td class="paramname"><em>content</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>通过通话建立的通道发送数据</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td>需要发送数据的 <a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
    <tr><td class="paramname">type</td><td>文本消息类型，用户可以自定义，例如text，xml等 </td></tr>
    <tr><td class="paramname">content</td><td>文本内容 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a34ca9d3be1e72777c7f1cb6e4a5d5bde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34ca9d3be1e72777c7f1cb6e4a5d5bde">&#9670;&nbsp;</a></span>term:reason:description:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) term: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">reason:</td>
          <td></td>
          <td class="paramtype">(<a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html#ga808dbcfe0aa04e3e5ebda7a4622e6b47">JCCallReason</a>)&#160;</td>
          <td class="paramname"><em>reason</em></td>
        </tr>
        <tr>
          <td class="paramkey">description:</td>
          <td></td>
          <td class="paramtype">(NSString *__nullable)&#160;</td>
          <td class="paramname"><em>description</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>挂断</p>
<p>调用接口成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a0e18348bea90de9e9fbfbb4d960d04be">onCallItemRemove</a> 通知</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
    <tr><td class="paramname">reason</td><td><a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html#ga808dbcfe0aa04e3e5ebda7a4622e6b47">挂断原因</a> </td></tr>
    <tr><td class="paramname">description</td><td>挂断描述 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a8909575711a38e53bf8828287cde102c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8909575711a38e53bf8828287cde102c">&#9670;&nbsp;</a></span>videoRecord:enable:remote:width:height:filePath:bothAudio:</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) videoRecord: </td>
          <td></td>
          <td class="paramtype">(<a class="el" href="interface_j_c_call_item.html">JCCallItem</a> *__nonnull)&#160;</td>
          <td class="paramname"><em>item</em></td>
        </tr>
        <tr>
          <td class="paramkey">enable:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>enable</em></td>
        </tr>
        <tr>
          <td class="paramkey">remote:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>remote</em></td>
        </tr>
        <tr>
          <td class="paramkey">width:</td>
          <td></td>
          <td class="paramtype">(int)&#160;</td>
          <td class="paramname"><em>width</em></td>
        </tr>
        <tr>
          <td class="paramkey">height:</td>
          <td></td>
          <td class="paramtype">(int)&#160;</td>
          <td class="paramname"><em>height</em></td>
        </tr>
        <tr>
          <td class="paramkey">filePath:</td>
          <td></td>
          <td class="paramtype">(NSString *__nullable)&#160;</td>
          <td class="paramname"><em>filePath</em></td>
        </tr>
        <tr>
          <td class="paramkey">bothAudio:</td>
          <td></td>
          <td class="paramtype">(bool)&#160;</td>
          <td class="paramname"><em>bothAudio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>开启/关闭视频通话录制</p>
<p>调用成功会收到 <a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a> 通知</p>
<p>开启视频录制，需要保证 1、没有在录音 2、若是录制远端视频，要保证没有在录制远端视频，并且远端在上传视频流 3、若是录制本端视频，要保证没有在录制本端视频，并且本端在上传视频流。<br  />
 关闭视频录制，需要保证 1、若是关闭远端视频，要保证正在录制远端视频 2、若是关闭本端视频，要保证正在录制本端视频</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="interface_j_c_call_item.html">JCCallItem</a> 对象，不能为空，并且 <a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a> 通话列表中要包含此对象 </td></tr>
    <tr><td class="paramname">enable</td><td>是否开启视频通话录制<ul>
<li>true: 开启</li>
<li>false: 关闭 </li>
</ul>
</td></tr>
    <tr><td class="paramname">remote</td><td>是否录制远端视频源<ul>
<li>true: 录制远端视频</li>
<li>false: 录制本端视频 </li>
</ul>
</td></tr>
    <tr><td class="paramname">width</td><td>录制视频宽像素 </td></tr>
    <tr><td class="paramname">height</td><td>录制视频高像素 </td></tr>
    <tr><td class="paramname">filePath</td><td><b>录制视频文件的本地保存路径，由用户自行指定，需精确到文件名及格式，例如：/Documents/JuphoonCloud/video.mp4。请确保目录存在且可写。</b> </td></tr>
    <tr><td class="paramname">bothAudio</td><td>是否录制两端音频<ul>
<li>true: 录制两端音频</li>
<li>false: 录制视频端音频。也就是说 remote 为 true 就录制远端音频，remote 为 false 录制本端音频。 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是否正常调用<ul>
<li>true：正常执行调用流程</li>
<li>false：调用失败 </li>
</ul>
</dd></dl>

</div>
</div>
<h2 class="groupheader">属性说明</h2>
<a id="adf7f1abfa3320f26a6626db6d5231d1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf7f1abfa3320f26a6626db6d5231d1a">&#9670;&nbsp;</a></span>callItems</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSArray* __nullable) callItems</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获得通话对象列表</p>
<p>当 <a class="el" href="interface_j_c_call.html#a5ec2fc8ce948ebdb10e9fd4fe44f7e11">maxCallNum</a> &gt; 1 时，callItems 通话对象列表中可能存在多个音频通话 </p>

</div>
</div>
<a id="a5ec2fc8ce948ebdb10e9fd4fe44f7e11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ec2fc8ce948ebdb10e9fd4fe44f7e11">&#9670;&nbsp;</a></span>maxCallNum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (int) maxCallNum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>最大通话数，默认值为1</p>
<dl class="section note"><dt>注解</dt><dd>当通话数到达最大通话数后，调用 <a class="el" href="interface_j_c_call.html#ae9d354eabdaad1c5991062ae6aa05680">call</a> 接口呼出会失败，收到来电会自动拒绝 </dd></dl>

</div>
</div>
<a id="a1a2c64a0ffd590fd669096f04b13a167"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a2c64a0ffd590fd669096f04b13a167">&#9670;&nbsp;</a></span>mediaConfig</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (<a class="el" href="interface_j_c_call_media_config.html">JCCallMediaConfig</a>* __nonnull) mediaConfig</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>当前的媒体配置参数 </p><dl class="section note"><dt>注解</dt><dd>该属性在调用 <a class="el" href="interface_j_c_call.html#ae9d354eabdaad1c5991062ae6aa05680">call</a> 方法之前设置才生效<br  />
 <a class="el" href="interface_j_c_call_media_config.html">JCCallMediaConfig</a> 对象建议通过 <a class="el" href="interface_j_c_call_media_config.html#aa6a4cf5a19235224c12bffca12cc12c1">generateByMode</a> 方法创建 </dd></dl>

</div>
</div>
<a id="aadc33d7d6a0e672613cb66392a35547d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadc33d7d6a0e672613cb66392a35547d">&#9670;&nbsp;</a></span>termWhenNetDisconnected</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (bool) termWhenNetDisconnected</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>当音频接收网络状态为无网络时是否挂断，默认为 false</p>
<p>即 <a class="el" href="interface_j_c_call_item.html#a1143c241bea2d1acf273b86895a465c0">audioNetReceiveStatus</a> 状态为 <a class="el" href="group___xE4_xB8_x80_xE5_xAF_xB9_xE4_xB8_x80_xE9_x80_x9A_xE8_xAF_x9D_xE6_xA8_xA1_xE5_x9D_x97.html#gga266a87ac69e2896b96f3b5438573af65a26a7b480a496649342a7d3585a1f2975">JCCallNetWorkDisconnected</a> 时是否挂断</p>
<ul>
<li>true: 挂断</li>
<li>false: 不挂断 </li>
</ul>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>JCSDKOC/JCSDKOC/JCCall/<a class="el" href="_j_c_call_8h_source.html">JCCall.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
</small></address>
</body>
</html>
